#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>


int main(int argc, char const *argv[])
{
    int fd = open("temp", O_RDWR | O_CREAT, 0664);
    if (fd == -1)
    {
        perror("open error");
        exit(1);
    }

    pid_t pid = fork();
    if (pid == -1)
    {
        perror("fork error");
        exit(1);
    }
    if (pid > 0)
    {
        char *p = "在有眼泪的雨里，哪里都是你，擦干是否就看不见你，脑海里，你的笑容太彻底，彻底把我囚禁在你的呼吸，我跟着哭泣";
        write(fd, p, strlen(p)+1);
        close(fd);
    }
    else if (pid == 0)
    {
        // 保证父进程已经执行完毕
        sleep(1);
        char buf[1024];
        lseek(fd, 0, SEEK_SET);
        int len = read(fd, buf, sizeof(buf));
        printf("%s\n", buf);
        close(fd);
    }
    
    
    return 0;
}
